//***********************************************************************
//	File:		ElectricFence.h
//	Author:		
//	Course:		SGP 1405
//	Purpose:	
//***********************************************************************
//***********************************************************************
//	Purposfully left blank for all comments regarding this file 
//	
//	
//	
//***********************************************************************



#pragma once
#include "Obstacle.h"
class ElectricFence :
	public Obstacle
{
public:
	//Trilogy
	ElectricFence(float posX = -1, float posY = -1);
	~ElectricFence() = default;
	ElectricFence(const ElectricFence&) = default; 
	ElectricFence& operator = (const ElectricFence&) = default;

	//Type
	int GetType() const { return ENT_ELECTRIC_FENCE; }

	//Interface
	void Update(float dt);
	void Render(void);
	void HandleCollision(const IEntity* pOther);
	void HandleEvent();
	SGD::Rectangle GetRect() const;

	//Accessors
	float GetDamage			(void)			{ return m_fDamage; }
	float GetDamageCDL		(void)			{ return m_fDamageCDL; }
	float GetDamageTimer	(void)			{ return m_fDamageTimer; }
	float GetKnockbackForce	(void)			{ return m_fKnockbackForce; }

	//Mutators
	void SetDamage			(float dam)		{ m_fDamage = dam; }
	void SetDamageCDL		(float damCDL)	{ m_fDamage = damCDL; }
	void SetDamageTimer		(float damtim)	{ m_fDamageTimer = damtim; }
	void SetKnockbackForce	(float kbf)		{ m_fKnockbackForce = kbf; }


private:
	float m_fDamage = 0.0f;
	float m_fDamageCDL = 0.0f; 
	float m_fDamageTimer = 0.0f; 
	float m_fKnockbackForce = 0.0f; 



};

